package map.abstractor.xaml2uimodel.base;

import java.util.ArrayList;

import map.abstractor.xaml2uimodel.visitors.Visitable;
import map.abstractor.xaml2uimodel.visitors.Visitor;

import org.w3c.dom.Element;


/**
 * 	Abstract Class XMLElement
 * 		extends XMLObject
 *		implements Visitable
 *
 *	Represents a node in a XMLDocument
 */
public class XMLElement extends XMLObject implements Visitable{
	
	/**
	 * Fields
	 */
	protected ArrayList<XMLElement> childs;
	
	/**
	 * Constructor
	 */
	public XMLElement(){
		childs = new ArrayList<XMLElement>();
	}


	/**
	 * getChilds
	 * @return ArrayList<XMLElement>
	 */
	public ArrayList<XMLElement> getChilds() {
		return this.childs;
	}

	/**
	 * addChild
	 * @param n : XMLElement 
	 */
	public void addChild(XMLElement n) {
		this.childs.add(n);
	}
	
	
	/**
	 * Init from a DOM Element
	 */
	public void init(Element e){
		childs = new ArrayList<XMLElement>();

	}


	public void accept(Visitor visitor, Object container) {
		// TODO Auto-generated method stub
		
	}
	
}
